package com.dp.server.entities;

import java.util.Date;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Entity;
import org.hibernate.annotations.GenericGenerator;

import com.dp.server.MantenimientoGenerico;
@Entity
public class ReservaAlmacen {
	private int id;
	private Date fechaInicio , fechaFin; //  reservado en [ fechaInicio , fechaFin ]
	private boolean eliminado;
	private int idPaquete;
	private int idPlanDeVuelo;
	private int idAlmacen;
	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}
	public Date getFechaFin() {
		return fechaFin;
	}
	public void setFechaInicio(Date fechaInicio) {
		this.fechaInicio = fechaInicio;
	}
	public Date getFechaInicio() {
		return fechaInicio;
	}
	public void setIdAlmacen(int idAlmacen) {
		this.idAlmacen = idAlmacen;
	}
	public int getIdAlmacen() {
		return idAlmacen;
	}
	public void setIdPaquete(int idPaquete) {
		this.idPaquete = idPaquete;
	}
	public int getIdPaquete() {
		return idPaquete;
	}
	public void setIdPlanDeVuelo(int idPlanDeVuelo) {
		this.idPlanDeVuelo = idPlanDeVuelo;
	}
	public int getIdPlanDeVuelo() {
		return idPlanDeVuelo;
	}
	public boolean isEliminado() {
		return eliminado;
	}
	public void setEliminado(boolean eliminado) {
		this.eliminado = eliminado;
	}
	@Id
	@GeneratedValue(generator="increment")
	@GenericGenerator(name="increment", strategy = "increment")
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public  ReservaAlmacen() {
	}
	
	static ReservaAlmacen createReserva( Paquete paq , Date inicio, Date fin , PlanDeVuelo plan , int idAlmacen ){
		ReservaAlmacen ans = new ReservaAlmacen();
		ans.setEliminado( false );
		ans.setFechaFin( fin );
		ans.setFechaInicio( inicio );
		ans.setIdAlmacen(idAlmacen);
		ans.setIdPaquete( paq.getId() );
		ans.setIdPlanDeVuelo( plan.getId() );
		ans.setId( 0 );
		MantenimientoGenerico<ReservaAlmacen> mReservaAlmacen = new MantenimientoGenerico<ReservaAlmacen>("ReservaAlmacen");
		ans = mReservaAlmacen.registra( ans );
		return ans;
	}
}
